home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
003
/
snap.arc
/
SNAP.DOC
< prev
next >
Wrap
Text File
|
1986-08-23
|
38KB
|
1,371 lines
SNAP!
dBASE II and dBASE III Documentation System
Written by Walter J. Kennamer 74025,514
╔════════════════════════════════════════════════════════════════════════╗
║ Copyright (c) 1986 by Walter J. Kennamer ║
║ All rights reserved. ║
║ ║
║ The accompanying software and this documentation may be used and ║
║ reproduced without charge; except it may not be sold, and may only be ║
║ distributed intact. ║
║ ║
║ These are provided as is, without warranty of any kind. ║
║ ║
╚════════════════════════════════════════════════════════════════════════╝
SNAP! makes documenting dBASE II and dBASE III programs a snap. Written in
Turbo Pascal, SNAP! is designed to produce technical documentation for an
entire dBASE system, including:
Variable cross-reference reports
Tree structure of program and database usage
Data dictionary
Index file summary
Format file summary
Report form summary
Procedure file summary (dBASE III only)
Formatted source code listings
In addition, on each program file, SNAP! can write a heading showing:
Program name
System name
Author and copyright notice
Which files call this program
Which files this program calls
Databases used
Index files used
Formats used
Report forms used
Procedures
Memory files used
Also, SNAP! can indent your source code and capitalize dBASE key words to
make your code easier to read, understand and maintain.
Unlike many other dBASE documentation systems, SNAP! documentation is
system-wide. In other words, not only can it tell you where variable X was
used in a particular program, it can cross-reference all occurrences of
variable X anywhere in the program system you are documenting. You merely
enter the "top" program file name, and SNAP! does the rest. Of course, you
may also document a single program if you wish.
Getting Started
First, make a backup copy of your program files. I have tried to test
SNAP! on a variety of hardware and software combinations, and there
shouldn't be any danger, but I would feel awful if anyone lost program
files due to some curious combination of resident programs, unusual
equipment and sunspot activity, not to mention (gasp!) "features."
Basic Operation
SNAP! is very easy to use. If you accept the program's default options,
you only have to enter the following information on the Top file screen:
"Top" file name
System name
Author
Paths for input, output files and SNAP! overlay files
You can press F4 to view the other options, or F2 to begin documenting
right away. The line at the bottom of the screen tells you which function
keys are active. At any point, you can press the F1 key to receive
context-sensitive help. Help is available for each field.
The SNAP! system is composed of the following files:
SNAP.COM -- main program file
SNAP.00x -- one or more overlays, starting with SNAP.000
SNAP.HLP -- help file
SNAP.DOC -- this documentation file
DBxWORDS.TXT -- key word files
Searching the Program Tree
SNAP! assumes that you want to document not only the Top file, but all
programs it calls, all programs called by programs that Top calls, and so
on. In fact, SNAP! will search the program tree for all programs,
databases, index files, report forms, format files and memory files as it
prepares system documentation. You never need to specify more than the top
program file name.
If you choose not to search the tree, only the specific file you enter will
be documented. Thus, you can limit documentation to a particular file or a
branch of the program tree by varying either the file you input as Top or
the search tree parameter.
Note that SNAP! does not track "SET DEFAULT TO x" statements, but always
expects to see files with no drive designations on the default drive.
Author and Copyright Holder
Enter the author and copyright holder in these fields. This information is
used only in the program headings, and may be omitted if you choose not to
write program headings (you make that choice on the Options screen--the one
after the Top file menu). If you enter either author or holder, but not
both, the program assumes that they are the same.
Paths
The Top file menu screen has three fields for path information--the path to
the input, output and overlay files. Your response should be a valid
MS-DOS path, with or without drive designation. It doesn't matter if you
omit the final backslash (e.g., C:\SNAP is valid, as is C:\SNAP\ or \SNAP).
SNAP! looks for its help file, SNAP.HLP, in the same directory as the SNAP!
overlays.
If the "Top" file you specify cannot be found, or if the overlay files are
not where you say they are, SNAP! exits back to DOS. If the output
directory does not exist, SNAP! will create it.
If your input and output paths are different, SNAP! will not modify your
original source code files in any way. Only the output files will contain
capitalized key words, indents, headings and so on.
On the other hand, if the input and output paths are the same, SNAP! adds
.BAK extensions to your original input Cfiles and creates modified output
files with the original names. For example, if one of your input programs
was named EDIT.PRG, after running SNAP! it will be called EDIT.BAK and a
new, modified EDIT.PRG will be in the directory. This scheme works fine as
long as all your input files have unique names (not counting the
extension). Otherwise, all but the last non-unique input file will be lost
(though the modified output files will still be there). The best idea is
never to direct output to the input directory if the first eight characters
of all of your program files are not unique.
SNAP! never modifies database, index, format, form or memory files.
dBASE II or dBASE III?
At the bottom of the Top file menu, SNAP! asks if this is a dBASE III
system. SNAP! needs this information since dBASE III uses a different
internal format for database and index files, as well as different key
words. The current version of SNAP! cannot read Clipper index files, but
otherwise will handle Clipper source code and databases without
difficulty. SNAP! will automatically detect Foxbase index files and
document them properly.
Ignoring Drive Designations
Sometimes you may want SNAP! to disregard explicit drive designations when
searching for program or other files. A choice off the options menu (the
second screen after the greeting) instucts SNAP! to drop any drive
designations before attempting to find a file. As an example, you may have
written a backup routine to copy a database to B:BACKUP.DBF. If you would
like SNAP! not to try to find that file on the B: drive, choose the option
to ignore drive designations.
Saving Default Choices
As you use SNAP!, you may wish to modify the default values for certain
fields. For example, you may want to set the overlay path to \SNAP, or the
author and copyright holder to your name. Press F5 to save the current
values of each field in a file named SNAP.CFG. If SNAP! finds this file in
the current directory when you start the program, its values will be
entered as defaults. Otherwise, if SNAP.CFG does not exist or cannot be
found, SNAP! resorts to standard default values.
Status Reports
As SNAP! documents your programs, it updates a status screen that tells you
how much progress it has made. The screen shows the file that SNAP! is
currently documenting, the number of lines in the file, and the pass
number. (If a file is called from more than one parent file, it may need
to be documented more than once. The pass number tells you how many passes
SNAP! has made through an individual program. It should not normally be
greater than 2 or 3.)
In addition, if you choose any option that modifies source code (heading,
indentation, key word capitalization) or if you choose to display the
cross-reference report, SNAP! will display a more elaborate screen
indicating how many programs, databases, indexes, format files, report
forms and variables it has found, along with the total number of program
lines documented so far, and the amount of free memory available.
If SNAP! identifies any errors during its run, it will print a brief error
message in a separate window in the upper right corner of the screen. All
error messages are also echoed to the ERROR.DOC file.
Reports and Outputs
SNAP! can produce any combination of several reports. Each report is
optional and can be selected or supressed on the Options Screen. However,
some reports (e.g. Data dictionary, Index summary) require you to search
the tree rather than document a single program.
SNAP! does not attempt to resolve macro substitutions. For example, if it
sees a macro where it expects a database, it reports the macro as a
database name. It is your responsibility to identify what value the macro
might have at run time. The exception to this general rule is that SNAP!
will try to remove macros that look like drive or path designations. For
example, if the following statement is in one of your programs:
USE &MPATH.DATABASE
SNAP! will detect the macro and remove it before trying to find
DATABASE.DBF.
Each report, other than a file heading, is displayed on the screen as it is
echoed to a file. The program contains default filenames (e.g., XREF.DOC
for the cross-reference report), but you can change them if you wish.
File Headings
One of the most useful SNAP! outputs is a heading written to each file in
the system. Each heading indicates:
Program name
System name
Copyright notice
Author
Which programs this program calls
Which programs call this program
Databases, index files, report forms, format files and memory
files used by this program
Date and time documented.
A sample heading is included in Appendix A. The sample heading indicates
that TODOINP.PRG is called by TODOMENU, calls TIME and TESTDATE, uses a
file whose name is contained in S:TDFILE with index TODO, and also uses the
TODOINP format file. The heading also indicates the system name, author,
copyright and date documented. You may want to add more information to the
header, such as a brief narrative description of the program's purpose.
If you choose to write headings on your source code files (or if you choose
any other option that modifies the source code file), it is a good idea to
send the output files to a different directory than the input files so that
your original source code remains unchanged.
If you choose to send output files to the input directory, your original
source code file will be renamed with a .BAK extension. If you use
extensions to distinguish between program files, some of your original
source code files could be destroyed. For example, if your system uses the
following program file names:
SYSTEM.INP
SYSTEM.EDT
SYSTEM.RPT
SYSTEM.DEL
and so on, the output files containing the headings will retain these
names. Each of the input files, however, will have been renamed to a file
called SYSTEM.BAK, and only the last one will still exist when SNAP!
completes. Therefore, you should send output files to a separate
subdirectory if you use this naming convention.
As always, you should make regular backups, and you should be especially
careful to make a full backup of all your files before running SNAP!.
Source Code Formatting Options
SNAP! can also help format your source code to make it easier to read.
SNAP! can recognize dBASE control structures and indent the program
statements underneath them. All indentation is done with tab characters,
one per level. Most text editors and word processors allow you to
determine the number of spaces per tab, so the actual appearance of the
code is still under your control. In addition, should you choose to use
SNAP!'s source code printing routines, you can select the number of spaces
to be inserted for each tab as the code prints.
If you choose the indentation option, SNAP! will also scan your code for
mismatched control structure terminators. For example, if your code has
the following sequence:
DO WHILE T
statements
.
.
.
IF X = Y
.
.
ENDIF
ENDIF
SNAP! will detect that the final statement should have been an ENDDO
instead of an ENDIF and will display an appropriate error message.
SNAP! will also capitalize dBASE key words found in your source code. Key
words are stored in a file called DBxWORDS.TXT where x is a 2 or a 3
depending on the version of dBASE you are using (you can also specify
another file). SNAP! does not attempt to parse code statements to
determine how a word is used, so if you use key words as variable or field
names, they will also be capitalized. Should you wish not to capitalize a
particular key word, you can either delete it from the DBxWORDS.TXT file,
or "comment it out" by putting an asterisk before it in the file (e.g.
RELEASE becomes *RELEASE).
The key word file should contain one key word per line. Capitalization and
order do not matter, though SNAP! runs marginally faster if the words are
alphabetized.
By inserting the correct characters in the key word file, you can cause
certain key words or variables to be handled differently than normal. The
following characters have a special meaning in the key word file when
inserted immediately before a word:
* Comments out the word. SNAP! acts as if it were not in the key
word file at all.
! Capitalize, but do no cross-reference even when the option to
cross-reference key words is in effect. You may want to use this
character for often-used but uninteresting key words such as TO
or, perhaps, SAY.
@ Capitalize and always cross-reference this word, even when the
option to cross-reference key words is not in effect. You might
want to use this for especially important key words such REPLACE,
SAVE, or QUIT.
% Neither capitalize nor cross-reference, regardless of whether the
options to capitalize or cross-reference key words are in
effect. You may want to use this character for variables that
you use frequently, but that you are not interested in
cross-referencing--perhaps "i", "choice", "action", or "lineno".
This will keep them from cluttering up the cross-reference report.
The following examples illustrate how to use these special characters:
*note
!SAY
@REPLACE
%CHOICE
Tree Structure Diagram
If you choose the default option of documenting all programs in the tree,
SNAP! will produce a chart showing which programs call which other programs
and which programs use which databases. The tree diagram, like other SNAP!
reports, appears on the screen and is echoed to a file (default name of
TREE.DOC).
While file names listed in the tree contain extensions, you can quickly
tell which files are databases by the arrow ( --> ) just to the left of the
filename.
The tree report is illustrated in Appendix A.
Data Dictionary
The data dictionary report contains two parts: 1) the database structure
for each database in the system and a list of programs which use it; and 2)
a listing of each data field in the system and the databases that contain
it.
SNAP! identifies databases in three ways:
1) USE statements, but only those followed by a database name;
2) COPY TO statements, including COPY TO ... SDF. If the command
copies to an SDF file that does not have an explicit extension,
SNAP! supplies .TXT, otherwise SNAP! assumes databases to have
.DBF extensions.
3) DELETE FILE xxx.DBF
A statement that tests for the existence of a database (e.g. IF
FILE("xyz")) will not by itself be identified as a database reference.
A sample data dictionary report is included in appendix A.
Index File Summary
The index file summary lists each index file referenced in the system and
attempts to show the fields it is indexed on and the files that use it.
Clipper index files are in a different format than dBASE3 and are not
recognized by SNAP! Foxbase index files are detected and documented.
SNAP! identifies indexes in four ways:
1) INDEX ON xyz TO indexfile
2) USE xyz INDEX indexfile1,indexfile2,indexfile3 ...
3) SET INDEX TO indexfile1,indexfile2,indexfile3 ...
4) DELETE FILE xyz.NDX
In cases 2 and 3, each index file will be separately identified and
documented.
A statement that tests for the existence of an index (e.g. IF
FILE("xyz.NDX")) will not by itself be identified as an index reference.
A sample index file summary in shown in Appendix A.
Format File Summary
SNAP! also produces a report showing each format file used in the system
and the programs that call it. A sample report is in Appendix A.
SNAP! identifies format files in two ways:
1) SET FORMAT TO xyz
2) DELETE FILE xyz.FMT
In case 1, if this is a dBASE II system, SET FORMAT TO SCREEN and SET
FORMAT TO PRINT are not flagged as references to format files.
A statement that tests for the existence of an format (e.g. IF
FILE("xyz.FMT")) will not by itself be identified as an format reference.
Report Form Summary
SNAP! also produces a report showing each report form used in the system
and the programs that call it. A sample report is in Appendix A.
SNAP! identifies report forms in two ways:
1) REPORT FORM xyz ...
2) DELETE FILE xyz.FRM
A statement that tests for the existence of an form (e.g. IF
FILE("xyz.FRM")) will not by itself be identified as an report form
reference.
Variable Cross-Reference Report
Another useful report available through SNAP! is a variable cross-reference
listing, showing line numbers for each program that references a particular
variable. 'Variable' in this context includes field names, file names and
anything else that isn't a key word, numeric constant, punctuation mark or
quoted string.
If elect ot display the variable cross-reference report (by responding 'Y'
to the question on the options menu), you can view the Cross-reference
Options Screen (press F4 from the options menu). The Cross-reference
Options Screen allows you to select the type of "things" that will included
on the cross-reference report. If this is a dBASE III system, you will
have the option to include only PUBLIC variables. You also get the
following choices, regardless of whether this is a dBASE II or a dBASE III
program:
Include other variables and tokens
Include key words
Include numeric constants
Your responses to these prompts (and your use of special characters in the
key words file) determine which words will Cappear on the cross-reference
report.
The cross-reference report interacts closely with the key word file.
Specifically, the key word file is how SNAP! can tell what is a key word
and what is not. Additionally, by inserting the correct characters in the
key word file, you can cause certain key words or variables to be handled
differently than usual. The following characters have a special meaning in
the key word file when inserted immediately before a word:
* Comments out the word. SNAP! acts as if it were not in the key
word file at all.
! Capitalize, but do no cross-reference even when the option to
cross-reference key words is in effect. You may want to use this
character for often-used but uninteresting key words such as TO
or, perhaps, SAY.
@ Capitalize and always cross-reference this word, even when the
option to cross-reference key words is not in effect. You might
want to use this for especially important key words such REPLACE,
SAVE, or QUIT.
% Neither capitalize nor cross-reference, regardless of whether the
options to capitalize or cross-reference key words are in
effect. You may want to use this character to designate
variables that you use frequently, but that you are not
interested in cross-referencing--perhaps "i", "choice", "action",
or "lineno".
The following examples illustrate how to use these special characters:
*note
!SAY
@REPLACE
%CHOICE
A sample cross-reference report is included in Appendix A.
Source Code Printout
When you have completed your program, you will probably want a listing of
the source code to accompany the rest of your documentation. SNAP!
provides a facility for formatting and printing dBASE source code files,
and gives you a great deal of control over source code format. You can set
the following parameters:
Line width
Page length
Left and right margins
Top and bottom margins
Spaces per tab
Include or suppress line numbers
Printer setup string
For example, you can set these values to leave plenty of room on the left
side of the page so that your code will fit in a 3-ring binder.
If a line of code exceeds the line width minus left and right margins,
SNAP! will wrap it on the printout without messing up the page breaks.
SNAP! also appropriately counts the wrapped line as one source code line,
so that your cross-reference report still matches the printout.
Each page of the printout contains a header showing the program name,
system name, copyright notice, page number and date/time printed. The
programs are printed in alphabetical order.
This section of SNAP! will revert to default values if you enter an invalid
set of parameters. For example, if the sum of your left and right margins
exceeds your line width, SNAP! will set the line width and the margins to
their default values. Similarly, SNAP! will reject top and bottom margins
greater than page length, negative values, tab expansions greater than 12
spaces, and so on.
SNAP! prints a three-line heading on each page of the printout, showing
program name, system name, copyright holder, date, time, and page number.
The heading begins on the line immediately following the top margin you
specify. Accordingly, if you use a top margin of 8 and a bottom margin of
8, with 66-line paper only 47 lines of code will be printed on each page
(66 lines - 8 top margin - 8 bottom margin - 3 heading).
Program Limitations
SNAP! had the following design limitations when this documentation was
written:
Maximum program files: 256 in total, 64 called from a
given file
Maximum other files: 128 of each type (e.g. databases)
Maximum variables: 999 throughout the system
Maximum references to a variable: 128 per variable
Maximum key words: 400 words
Maximum length of key word: 15 characters
Maximum levels of nesting: 20 levels
Maximum number of database fields: 256 throughout the system
Maximum length of filename: 16 characters (including path)
These limitations are current as of March 31, 1986. You can verify them
(it would be a good idea) by viewing the program limitations screen (Press
F1 twice from the greeting screen).
For example, the total number of different fields in all the databases used
in the system cannot exceed 256. In practice, the limit you are most
likely to encounter is the maximum number of references to a particular
variable. Additional references generate a warning message and are not
included in the cross-reference report, but otherwise do not hurt anything.
ACKNOWLEDGMENTS
Special thanks to the following for help designing and testing SNAP!:
Paul Ferrara
Peter Petto
Dirk Gastaldo
Opher Jackson
Spence Lloyd
Tom McSharry
Marianne van Lier
-------------------------------------------------------------------------------
Appendix A -- Sample Reports
File Header
*:*********************************************************************
*:
*: Program: TODOINP.PRG
*:
*: System: TODO Management System
*: Author: Walter J. Kennamer
*: Copyright (c) 1984, Walter J. Kennamer
*:
*: Called by: TODOMENU.PRG
*:
*: Calls: TIME.PRG
*: : TESTDATE.PRG
*:
*: Uses: &S:TDFILE.DBF
*:
*: Indexes: &S:DDNDX.NDX
*:
*: Formats: TODOINP.FMT
*:
*: Documented: 2/15/86 14:19
*:*********************************************************************
Tree Diagram
System: TODO Management System
Author: Walter J. Kennamer
Tree Diagram for databases and program files.
Date: 2/15/86
Time: 14:22
---------------------------------------------------------------------------TO
DO.PRG
TODOMENU.PRG
-->&S:TDFILE.DBF
VERSION.PRG
TDLOGO.PRG
DEFAULT.PRG
TDSETUP.PRG
-->TODO.SKL
-->&S:TDFILE.DBF
GETDATE.PRG
TIME.PRG
TODOINP.PRG
-->&S:TDFILE.DBF
TIME.PRG
TESTDATE.PRG
TODOEDIT.PRG
TIME.PRG
TDMARK.PRG
-->&S:TDFILE.DBF
TIME.PRG
NUMLIST.PRG
TDEDIT.PRG
-->&S:TDFILE.DBF
TIME.PRG
DELSKIP.PRG
EDITEXIT.PRG
ISEARCH.PRG
TESTDATE.PRG
EDITSRCH.PRG
NUMLIST.PRG
TIME.PRG
EDITCHGE.PRG
EDITDEL.PRG
ISEARCH.PRG
DELSKIP.PRG
TDBROWSE.PRG
-->&S:TDFILE.DBF
TDPURGE.PRG
-->HIST.DBF
-->TODO.SKL
-->&S:TDFILE.DBF
TDREDATE.PRG
-->&S:TDFILE.DBF
TDCALPRM.PRG
-->PRM.SKL
-->CAL.PRM
EDITHELP.PRG
TODOPRT.PRG
TIME.PRG
PRTUNCMP.PRG
-->&S:TDFILE.DBF
PRINTER.PRG
LATECOMP.PRG
PRTCMP.PRG
-->&S:TDFILE.DBF
PRINTER.PRG
SCREENPRT.PRG
-->&S:TDFILE.DBF
TODOCAL.PRG
-->&S:TDFILE.DBF
PRINTER.PRG
TDCALPRM.PRG
-->PRM.SKL
-->CAL.PRM
VERPRT.PRG
-->PRM.SKL
TDALARM.PRG
-->&S:TDFILE.DBF
DISPCAL.PRG
TODOFIX.PRG
-->&S:TDFILE.DBF
-->TEMP.DBF
TIME.PRG
TDALARM.PRG
-->&S:TDFILE.DBF
Data Dictionary
System: TODO Management System
Author: Walter J. Kennamer
Database Structure Summary
Date: 2/15/86
Time: 14:22
--------------------------------------------------------------------------
File not found--&S:TDFILE.DBF
Used by: TODOMENU.PRG
Used by: TDSETUP.PRG
Used by: TODOINP.PRG
Used by: TODOFIX.PRG
Used by: TDALARM.PRG
Used by: TDMARK.PRG
Used by: TDEDIT.PRG
Used by: TDBROWSE.PRG
Used by: TDPURGE.PRG
Used by: TDREDATE.PRG
** Total ** 92
Used by: TODOFIX.PRG
-------------------------------------------------------------------------
Structure for database : PRM.SKL
Number of data records : 20
Date of last update : 1/ 7/86
Field Field name Type Width Dec
1 LINE Character 80
** Total ** 81
Used by: TDPURGE.PRG
-------------------------------------------------------------------------
File not found--TEMP.DBF
Used by: TDCALPRM.PRG
Used by: VERPRT.PRG
---------------------------------------------------------------------------
Structure for database : TODO.SKL
Number of data records : 0
Date of last update : 2/18/85
Field Field name Type Width Dec
1 ITEM Character 55
2 PRIORITY Character 1
3 COMPLETE Character 1
4 DATE:ASGN Character 8
5 DATE:DUE Character 8
6 DATE:COMP Character 8
7 LATE Numeric 3
8 ITEMTYPE Character 1
9 TIME Character 5
10 ALARM Character 1
** Total ** 92
Used by: TDCALPRM.PRG
---------------------------------------------------------------------------
System: TODO Management System
Author: Walter J. Kennamer
Data Dictionary
Date: 2/15/86
Time: 14:22
--------------------------------------------------------------------------
Field Name Type Len Dec Database
ALARM C 1 0 HIST.DBF
TODO.SKL
COMPLETE C 1 0 HIST.DBF
TODO.SKL
DATE:ASGN C 8 0 HIST.DBF
TODO.SKL
DATE:COMP C 8 0 HIST.DBF
TODO.SKL
DATE:DUE C 8 0 HIST.DBF
TODO.SKL
ITEM C 55 0 HIST.DBF
TODO.SKL
ITEMTYPE C 1 0 HIST.DBF
TODO.SKL
LATE N 3 0 HIST.DBF
TODO.SKL
LINE C 80 0 PRM.SKL
PRIORITY C 1 0 HIST.DBF
TODO.SKL
TIME C 5 0 HIST.DBF
TODO.SKL
---------------------------------------------------------------------------
Index Summary
System: TODO Management System
Author: Walter J. Kennamer
Index Parameter Summary
Date: 2/15/86
Time: 14:23
-------------------------------------------------------------------------
File not found--&S:DDNDX.NDX
Used in: TODOMENU.PRG
Used in: TDSETUP.PRG
Used in: TODOINP.PRG
Used in: TODOFIX.PRG
Used in: TDALARM.PRG
Used in: TDEDIT.PRG
Used in: TDBROWSE.PRG
Used in: TDPURGE.PRG
Used in: TDREDATE.PRG
Used in: PRTUNCMP.PRG
Used in: TODOCAL.PRG
Used in: EDITEXIT.PRG
Used in: EDITCHGE.PRG
--------------------------------------------------------------------------
File not found--DATECOMP.NDX
Used in: TDPURGE.PRG
--------------------------------------------------------------------------
HISTDD.NDX -- Indexed on: $(date:due,7,2)+date:due+priority+time
Used in: PRTCMP.PRG
Used in: TODOCAL.PRG
--------------------------------------------------------------------------
Format File Summary
System: TODO Management System
Author: Walter J. Kennamer
Format File Summary
Date: 2/15/86
Time: 14:23
-------------------------------------------------------------------------
TDEDIT.FMT
Used in: TODOINP.PRG
-------------------------------------------------------------------------
TDMARK.FMT
Used in: TDMARK.PRG
-------------------------------------------------------------------------
TODOINP.FMT
Used in: TDEDIT.PRG
Used in: EDITSRCH.PRG
-------------------------------------------------------------------------
Report Form Summary
System: TODO Management System
Author: Walter J. Kennamer
Report Form File Summary
Date: 2/15/86
Time: 14:23
--------------------------------------------------------------------------
TDDETCO.FRM
Used in: PRTUNCMP.PRG
-------------------------------------------------------------------------
TDDETIN.FRM
Used in: PRTUNCMP.PRG
-------------------------------------------------------------------------
TDSUMCO.FRM
Used in: PRTCMP.PRG
-------------------------------------------------------------------------
TDSUMIN.FRM
Used in: PRTCMP.PRG
-------------------------------------------------------------------------
Procedure Summary
System: Sample Application
Author: Walter J. Kennamer
Procedures Summary
Date: 2/17/86
Time: 14:11
-------------------------------------------------------------------------
ABC.PRC
Contains: RECPRT
Called by: ABCMAIN.PRG
Contains: PRTHDR
Called by: ABC.PRC
Contains: SUBHEAD
Called by: ABC.PRC
-------------------------------------------------------------------------
Variable Cross-Reference
System: Sample Application
Author: Walter J. Kennamer
Cross-Reference for Non-Keywords
Date: 2/18/86
Time: 14:11
-------------------------------------------------------------------------
ADVFUNC
ABC.PRC 89 89
AREA
ABC.PRC 122
ARR
ABC.PRC 111 112 113 114 115 116 117 118 119
ARR0
ABC.PRC 82
ARR1
ABC.PRC 83
ARR2
ABC.PRC 84
ARR3
ABC.PRC 85
ARR4
ABC.PRC 86
BASFUNC
ABC.PRC 88 88
COMMENT
ABCMAIN.PRG 40 41
ABC.PRC 143
COMNTTYPE
ABCMAIN.PRG 41
ABC.PRC 142
COMPATIB
ABC.PRC 94 94
D
ABCMAIN.PRG 29
DEVICE
ABCMAIN.PRG 47 53
D DOLLAR
ABC.PRC 41 47 105 107 206
D TYPE
ABC.PRC 41 46 75 76 213 216 219 222 225 228
231 234
FIELDTEST
ABC.PRC 98
INSTRUCT
ABC.PRC 90 90
LOSS
ABC.PRC 91 91
MANUAL
ABC.PRC 87 87
MESSAGES
ABC.PRC 92 92
MFLDTEST
ABC.PRC 99 101 120
MNAME
ABC.PRC 126 130 134
MTYPE
ABC.PRC 41 45 73 78
NAME
ABCMAIN.PRG 41 44
ABC.PRC 58 104 126 134 163
OVERALL
ABC.PRC 95 95
PERFORM
ABC.PRC 93 93
PRICE
ABC.PRC 106 109
PRTHDR
ABC.PRC 66 138 167
QUARTER
ABC.PRC 121
RECPRT
ABCMAIN.PRG 51
ABC.PRC 30
ABC.PRC
ABCMAIN.PRG 30
SOFTWARE
ABCMAIN.PRG 43 44
ABC.PRC 55 58 151 160 163
SUBHEAD
ABC.PRC 74 210
TCOL
ABCMAIN.PRG 37
ABC.PRC 41 43 75 76 104 106 109 111 112 113
114 115 116 117 118 119 120 121 122 142 143
184 185 186 187 188 189 190 191 192 193 194
195 196 197 198 199 200 201 202 203 204
TLINE
ABCMAIN.PRG 37
ABC.PRC 41 42 65 75 76 77 77 104 106 109
111 112 113 114 115 116 117 118 119 120 121
122 132 132 137 142 143 147 147 155 155 178
184 185 186 187 188 189 190 191 192 193 194
195 196 197 198 199 200 201 202 203 204 205
205
TPAGECTR
ABCMAIN.PRG 37
ABC.PRC 41 44 179 179 184
T ADVFUNC
ABC.PRC 89 113
T BASFUNC
ABC.PRC 88 112
T COMPATIB
ABC.PRC 94 118
T INSTRUCT
ABC.PRC 90 114
T LOSS
ABC.PRC 91 115
T MANUAL
ABC.PRC 87 111
T MESSAGES
ABC.PRC 92 116
T OVERALL
ABC.PRC 95 119
T PERFORM
ABC.PRC 93 117